<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui"
                template="../templates/principal.xhtml">

    <ui:define name="content" id="content">
        <h:form id="frmProposta">
            <p:panel id="panel" header="Bem Vindo a Ordem de Serviço Finalizada/Cancelada">
                <p:growl id="messages" life="5000" showDetail="true" />

                <p:dataTable id="tabProposta" widgetVar="wtabProposta" var="proposta" value="#{propostaBean.lazyModel}" 
                             lazy="true" paginator="true" rows="12" paginatorPosition="top"
                             emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter" resizableColumns="true">

                    <f:facet name="header">
                        STATUS: 10 - Ordem de Serviço Finalizada/Cancelada
                    </f:facet>

                    <p:column headerText="Numero O.S." sortBy="#{proposta.numOs}" filterBy="#{proposta.numOs}">
                        <div style="text-align: left;">
                            <h:outputText value="#{proposta.numOs}" />
                        </div>
                    </p:column>

                    <p:column headerText="Empreendimento" sortBy="#{proposta.idEmpreendimento.dscEmpreendimento}" filterBy="#{proposta.idEmpreendimento.dscEmpreendimento}">
                        <div style="text-align: left; ">
                            <h:outputText value="#{proposta.idEmpreendimento.dscEmpreendimento}" />
                        </div>
                    </p:column>

                    <p:column headerText="Assunto" sortBy="#{proposta.dscProposta}" filterBy="#{proposta.dscProposta}">
                        <div style="text-align: left; ">
                            <h:outputText value="#{proposta.dscProposta}" />
                        </div>
                    </p:column>

                    <p:column headerText="Empresa" sortBy="#{proposta.idEmpresa.nomEmpresa}" filterBy="#{proposta.idEmpresa.nomEmpresa}">
                        <div style="text-align: left; ">
                            <h:outputText value="#{proposta.idEmpresa.nomEmpresa}" />
                        </div>
                    </p:column>

                    <p:column headerText="Cliente Nome Fantasia/Sobrenom" sortBy="#{proposta.idCliente.nomFantasia}" filterBy="#{proposta.idCliente.nomFantasia}">
                        <div style="text-align: left; ">
                            <h:outputText value="#{proposta.idCliente.nomFantasia}" />
                        </div>
                    </p:column>
                    
                    <p:column style="width: 10px;">
                        <p:panelGrid style="height: auto;">
                            <p:row>
                                <p:column style="background-color: #{proposta.corStatus}; color: #ffffff;" />
                            </p:row>
                        </p:panelGrid>
                    </p:column>

                    <p:column style="width: 50px">
                        <h:panelGrid columns="4" styleClass="actions" cellpadding="0">
                            <p:commandButton id="selectButtonProposta" update=":frmProposta:panelDetalheValor :frmProposta:messages" 
                                             icon="ui-icon-search" title="Visualizar Ordem de Serviço" oncomplete="PF('propostaDialog').show(); PF('propostaDialog').toggleMaximize();">
                                <f:setPropertyActionListener value="#{proposta}" target="#{propostaBean.selectedProposta}" />
                                <f:setPropertyActionListener value="#{false}" target="#{propostaBean.ativa}" />
                            </p:commandButton>
                        </h:panelGrid>
                    </p:column>
                </p:dataTable>

                <!-- DETALHES O.S. -->
                <p:dialog id="dialog" header="Detalhes Ordem de Serviço" widgetVar="propostaDialog" resizable="true" dynamic="true" 
                          onHide="PF('propostaDialog').toggleMaximize();" closable="true"
                          showEffect="explode" hideEffect="explode" style="text-align: left" position="top" maximizable="true">
                    <p:panel id="panelDetalheValor">
                        <p:panelGrid id="displaytab1" style="text-align: left; width: 100%;">

                            <p:row>
                                <p:column>
                                    <h:outputText value="* Numero Ordem de Serviço:" />
                                </p:column>
                                <p:column>
                                    <p:inputMask readonly="true" value="#{propostaBean.selectedProposta.numOs}" mask="999/9999" style="font-weight:bold;" />
                                </p:column>
                                
                                <p:column>
                                    <h:outputText value="Status:" />
                                </p:column>
                                <p:column colspan="2" style="background-color: #{propostaBean.selectedProposta.corStatus};">
                                    <h:outputText value=" " style="width: 10px;"  />
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="* Assunto:" />
                                </p:column>
                                <p:column colspan="3">
                                    <p:outputLabel id="inDescricao" value="#{propostaBean.selectedProposta.dscProposta}" style="width:800px; font-weight:bold; " />
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="Empresa:" />
                                </p:column>
                                <p:column colspan="4">
                                    <p:outputLabel id="inEmpresa" value="#{propostaBean.selectedProposta.idEmpresa.nomEmpresa}" style="width:800px; font-weight:bold; " />
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="* Cliente:" />
                                </p:column>
                                <p:column>
                                    <p:outputLabel id="inCliente" value="#{propostaBean.selectedProposta.idCliente.nomCliente}" 
                                                   style="width:500px; font-weight:bold; " />
                                </p:column>
                                <p:column>
                                    <h:outputText value="Empreendimento:" />
                                </p:column>
                                <p:column>
                                    <p:outputLabel id="inEmpreendimento" value="#{propostaBean.selectedProposta.nomEmpreendimento}" 
                                                   style="width:500px; font-weight:bold; " />
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="Endereços:" />
                                </p:column>

                                <p:column>
                                    <ui:repeat value="#{propostaBean.selectedProposta.idEmpreendimento.empreendimentoEnderecoList}" var="end">
                                        <h:outputText value="#{end.codLogradouro.dscLogradouro}, #{end.numEndereco} #{end.dscComplemento} - " style="font-weight:bold;" />
                                    </ui:repeat>
                                </p:column>

                                <p:column>
                                    <h:outputText value="Cidade:" />
                                </p:column>

                                <p:column colspan="2">
                                    <h:outputText value="#{propostaBean.selectedProposta.idEmpreendimento.empreendimentoEnderecoList.get(0).codLogradouro.codBairro.codCidade.dscCidade}" style="font-weight:bold;" />
                                </p:column>
                            </p:row>

                            <p:row> 
                                <p:column>
                                    <h:outputText value="Data Ordem de Serviço:" />
                                </p:column>
                                <p:column colspan="3">
                                    <p:inputMask readonly="true" id="imDatAbert" value="#{propostaBean.selectedProposta.datOs}" mask="99/99/9999" style="font-weight:bold; ">
                                        <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy" />
                                    </p:inputMask>
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="* Centro de Controle:" />
                                </p:column>
                                <p:column colspan="3">
                                    <h:outputText id="inCusto" value="#{propostaBean.selectedProposta.idEmpreendimento.idCusto.dscCusto}" style="width:500px; font-weight:bold;" />
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="Observações:" />
                                </p:column>
                                <p:column colspan="3">
                                    <p:inputTextarea autoResize="false"  value="#{propostaBean.selectedProposta.ordObs}" style="font-weight:bold; width: 80%; height: 15px;  " />
                                </p:column>
                            </p:row>
                        </p:panelGrid>

                        <p:dataTable var="etapa" value="#{propostaBean.selectedProposta.propostaValorList}" rows="2" paginator="true"
                                     id="tabPropostaValor"  emptyMessage="ATENÇÃO ... Nenhuma Etapa - Escopos/Honorários Cadastrados ..." 
                                     paginatorPosition="top">

                            <p:column headerText="ETAPA" style="width: 80px;"><h:outputText value="#{etapa.dscEtapa}" /></p:column>
                            <p:column headerText="ASSUNTO" style="width: 100px;"><h:outputText value="#{etapa.dscAssunto}" /></p:column>
                            <p:column headerText="VALOR" style="font-weight:bold; text-align: right; width: 100px;">
                                <h:outputText value="#{etapa.vlrEtapa}" style="font-weight:bold; text-align: right;">
                                    <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                </h:outputText>
                            </p:column>

                            <p:column>
                                <p:dataTable var="etapaPerc" value="#{etapa.propostaValorPercList}" rows="2" paginator="true" id="gridEtapaPerc" resizableColumns="true"
                                             rowIndexVar="rowId" emptyMessage="ATENÇÃO ... Nenhuma Etapa - Escopos/Honorários Cadastrados ..." paginatorPosition="top">

                                    <p:column headerText="% Pagto" style="font-weight:bold; text-align: right; width: 60px;">
                                        <h:outputText value="#{etapaPerc.percEtapa}" converter="percentualConverter" />
                                    </p:column>

                                    <p:column headerText="Evento" style="font-weight:bold;">

                                        <h:outputText value="#{etapaPerc.dscPerc}" />

                                    </p:column> 

                                    <p:column headerText="Nota Fiscal" style="font-weight:bold; text-align: right;">

                                        <h:outputText value="#{etapaPerc.dscNfe}" />

                                    </p:column>

                                    <p:column headerText="Data Emissão" style="font-weight:bold; text-align: center;">

                                        <h:outputText value="#{etapaPerc.datEmissao}">
                                            <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy" />
                                        </h:outputText>

                                    </p:column>

                                    <p:column headerText="Data Vencimento" style="font-weight:bold; text-align: center;">

                                        <h:outputText value="#{etapaPerc.datVencNota}">
                                            <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy" />
                                        </h:outputText>

                                    </p:column>

                                    <p:column headerText="Valor Bruto" style="font-weight:bold; text-align: right;">

                                        <h:outputText value="#{etapaPerc.vlrProposta}">
                                            <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                        </h:outputText>


                                    </p:column>

                                    <p:column headerText="Valor Recebido" style="font-weight:bold; text-align: right;">

                                        <h:outputText value="#{etapaPerc.vlrPago}">
                                            <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                        </h:outputText>

                                    </p:column>

                                    <p:column headerText="Valor Terceiro" style="font-weight:bold; text-align: right;">

                                        <h:outputText value="#{etapaPerc.vlrLiquido}">
                                            <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                        </h:outputText>

                                    </p:column>

                                    <p:column headerText="Data Pagamento" style="font-weight:bold; text-align: right;">

                                        <h:outputText value="#{etapaPerc.datPagamento}">
                                            <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy" />
                                        </h:outputText>

                                    </p:column>

                                    <p:column headerText="Status" style="font-weight:bold; text-align: center;">
                                        <h:outputText value="#{etapaPerc.dscOrdStatus}" />
                                    </p:column>
                                </p:dataTable>
                            </p:column>
                        </p:dataTable>

                        <p:panelGrid id="panelTotal" style="width: 100%;">
                            <f:facet name="header">  
                                <p:row>
                                    <p:column colspan="6">TOTAL GERAL</p:column>
                                </p:row>
                                <p:row>
                                    <p:column>Valor Etapas</p:column>
                                    <p:column>Valor Bruto</p:column>
                                    <p:column>Valor Terceiro</p:column>
                                    <p:column>Custo I.S.S.</p:column>
                                    <p:column>Valor Recebido</p:column>
                                    <p:column>Valor a Receber Bruto</p:column>
                                </p:row>
                            </f:facet>
                            <p:row>
                                <p:column style="font-weight:bold; text-align: right;">
                                    <h:outputText value="#{propostaBean.selectedProposta.totalEtapa}" >
                                        <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                    </h:outputText>
                                </p:column>
                                <p:column style="font-weight:bold; text-align: right;">
                                    <h:outputText value="#{propostaBean.selectedProposta.totalBruto}" style="font-weight:bold; text-align: right;">
                                        <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                    </h:outputText>
                                </p:column>
                                <p:column style="font-weight:bold; text-align: right;">
                                    <h:outputText value="#{propostaBean.selectedProposta.totalLiquido}" style="font-weight:bold; text-align: right;">
                                        <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                    </h:outputText>
                                </p:column>
                                <p:column style="font-weight:bold; text-align: right;">
                                    <h:outputText value="#{propostaBean.selectedProposta.custoIss}" style="font-weight:bold; text-align: right;">
                                        <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                    </h:outputText>
                                </p:column>
                                <p:column style="font-weight:bold; text-align: right;">
                                    <h:outputText value="#{propostaBean.selectedProposta.totalRecebido}" style="font-weight:bold; text-align: right;">
                                        <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                    </h:outputText>
                                </p:column>
                                <p:column style="font-weight:bold; text-align: right;">
                                    <h:outputText value="#{propostaBean.selectedProposta.totalReceber}" style="font-weight:bold; text-align: right;">
                                        <f:convertNumber locale="pt_BR" pattern="###,###,##0.00" minFractionDigits="2" />
                                    </h:outputText>
                                </p:column>
                            </p:row>
                        </p:panelGrid> 

                        <f:facet name="footer">
                            <div style="text-align: left;">
                                <p:commandButton icon="ui-icon-closethick" value="Fechar" update=":frmProposta:panel :frmProposta:messages" onclick="PF('propostaDialog').hide();" title="Fecha Janela das Ordens de Serviço!" />
                            </div>
                        </f:facet>


                    </p:panel>
                </p:dialog>

                

            </p:panel>

        </h:form>
    </ui:define>
</ui:composition>